Skip to content

fix: bound RPM bundle obsoletes#4651

Open
sanikolaev wants to merge 1 commit into
mainfrom
fix/rpm-bundle-obsoletes
Open

fix: bound RPM bundle obsoletes#4651
sanikolaev wants to merge 1 commit into
mainfrom
fix/rpm-bundle-obsoletes

Conversation

@sanikolaev

Copy link
Copy Markdown
Collaborator

Use version-bounded Obsoletes for split packages in the monolithic RPM bundle so DNF/YUM does not select manticore when a user explicitly installs a current split package such as manticore-common.

@sanikolaev sanikolaev added the pack To trigger CI to build packages for PR label Jun 18, 2026
@github-actions

Copy link
Copy Markdown
Contributor

clt

❌ CLT tests in test/clt-tests/mysqldump/maria/mcl-id-multi64 test/clt-tests/mysqldump/maria/mcl-only-json test/clt-tests/mysqldump/maria/mcl-only-multi test/clt-tests/mysqldump/maria/mcl-only-multi64 test/clt-tests/mysqldump/maria/no-mcl-json test/clt-tests/mysqldump/maria/no-mcl-multi test/clt-tests/mysqldump/maria/no-mcl-multi64 test/clt-tests/mysqldump/maria/pq-table-mysqldump test/clt-tests/mysqldump/maria/random-1m-dump-restore test/clt-tests/performance/concurrent-load-search-stats-validation test/clt-tests/performance/test-json-disk_chunks test/clt-tests/performance/test-optimisation-and-update test/clt-tests/performance/test-show-table-tbl-name-status test/clt-tests/replication/fatal-invalid-port test/clt-tests/replication/test-auto-embeddings-replication
✅ OK: 16
❌ Failed: 1
⏳ Duration: 285s
👉 Check Action Results for commit 8790c0f

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/replication/test-auto-embeddings-replication.rec
––– input –––
export INSTANCE=1
––– output –––
OK
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
OK
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null
––– output –––
OK
––– input –––
if timeout 30 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore-${INSTANCE}/searchd.log; fi
––– output –––
OK
––– input –––
export INSTANCE=2
––– output –––
OK
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
OK
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null
––– output –––
OK
––– input –––
if timeout 30 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore-${INSTANCE}/searchd.log; fi
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "drop table if exists t;"
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "create table t (f text, v float_vector knn_type='hnsw' hnsw_similarity='COSINE' model_name='sentence-transformers/all-MiniLM-L6-v2' from='f');"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: error adding table 't': prealloc: Failed to download model configuration
+ 1
––– input –––
mysql -h0 -P1306 -e "create cluster c;"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "alter cluster c add t;"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 't'
+ 1
––– input –––
mysql -h0 -P2306 -e "join cluster c at '127.0.0.1:1312';"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "insert into c:t(id,f) values(1,'bread');"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 't' absent
+ 1
––– input –––
mysql -E -h0 -P2306 -e "debug wait c status 2 like 'state' option 'timeout'=30;" | awk '/Value:/{print $2}'
––– output –––
- 2
+ 0
––– input –––
mysql -E -h0 -P2306 -e "select id, f from c:t order by id asc;" | awk '/f:/{print $2}'
––– output –––
- bread
+ ERROR 1064 (42000) at line 1: unknown local table(s) 't' in search request
––– input –––
mysql -h0 -P1306 -e "insert into c:t(id,f, v) values(10,'aaps', (0.1, 0.2));"; echo $?
––– output –––
- ERROR 1064 (42000) at line 1: attribute 'v' has model_name=sentence-transformers/all-MiniLM-L6-v2 specified, but vector contents with 2 values is provided
+ ERROR 1064 (42000) at line 1: table 't' absent
1
––– input –––
mysql -h0 -P1306 -e "insert into c:t(id,f, v) values(11,'not related text presented for testing', (-0.02887810952961445,-0.014508943073451519,0.06253206729888916,0.006139140110462904,0.007788040209561586,-0.029897022992372513,0.004299835301935673,-0.02102580852806568,-0.07824035733938217,-0.04040408879518509,-0.04838048294186592,-0.0078645721077919,0.010616137646138668,0.004826101940125227,-0.062401119619607925,0.07758325338363647,0.0104198744520545,0.0028890324756503105,-0.11988074332475662,-0.09860166907310486,0.025224801152944565,-0.00991450808942318,-0.05856771767139435,0.014609863981604576,0.005707146134227514,0.024516092613339424,0.0820961520075798,0.05104028061032295,-0.014301222749054432,-0.06978834420442581,0.051312025636434555,-0.0773017480969429,0.05717596784234047,0.03005439229309559,-0.06304150074720383,0.06810582429170609,-0.09292984753847122,0.006180487107485533,0.033087845891714096,0.01436525210738182,-0.0019107428379356861,-0.11795717477798462,0.036489419639110565,0.003296283772215247,0.07273916900157928,0.12453976273536682,-0.05751297250390053,-0.019802575930953026,-0.03427072986960411,0.06344299018383026,-0.0916014313697815,-0.013950333930552006,-0.016918571665883064,-0.027785340324044228,-0.06570874154567719,0.04672783613204956,0.016895921900868416,0.026192206889390945,0.00987544097006321,0.0047765751369297504,0.020895836874842644,-0.0705636665225029,-0.022132378071546555,-0.0324690006673336,0.05870749428868294,0.0021685678511857986,-0.043411076068878174,0.07814154028892517,-0.019831260666251183,-0.08912009000778198,-0.04109704867005348,0.05572393164038658,-0.0074473218992352486,0.015599397011101246,0.04969257488846779,-0.003387113567441702,0.022838285192847252,-0.020863434299826622,0.0694182813167572,-0.02072182483971119,-0.08121015131473541,-0.017036229372024536,-0.046413592994213104,0.09961981326341629,0.01960965059697628,-0.05294061452150345,-0.051695119589567184,0.018813325092196465,-0.0276397205889225,-0.034315574914216995,0.00913374125957489,-0.04280592501163483,0.022342398762702942,-0.05029156059026718,-0.03839508444070816,0.059815049171447754,0.013032465241849422,-0.14764592051506042,-0.005115848500281572,0.11305969953536987,-0.08993944525718689,0.08440786600112915,-0.0020546468440443277,-0.03318164497613907,0.04759039729833603,-0.03706233203411102,0.011276835575699806,0.00043600198114290833,0.07980957627296448,-0.15789221227169037,-0.07920952141284943,-0.02279348485171795,0.0539841502904892,-0.0818084329366684,-0.00291087431833148,-0.010869033634662628,0.004449532367289066,0.04457550495862961,-0.007860267534852028,0.023657092824578285,-0.020765071734786034,-0.02642984874546528,0.020103735849261284,0.1111338809132576,0.028429243713617325,-0.0725877657532692,-0.0678577795624733,1.8544020314946612e-33,-0.03472018986940384,-0.06150643527507782,-0.03177795186638832,0.03646891564130783,0.01958777941763401,-0.11167877912521362,0.01035370584577322,-0.0479571558535099,0.01566443033516407,0.008931931108236313,-0.05269512161612511,0.006171927321702242,0.03202659636735916,-0.006528966128826141,0.09422576427459717,-0.012561697512865067,0.04291675239801407,0.09155222773551941,0.02544848434627056,-0.025248372927308083,0.05366683751344681,0.011495773680508137,0.04045502096414566,-0.024824194610118866,-0.019793512299656868,0.03673143684864044,0.04070700332522392,0.02240411750972271,-0.010609647259116173,0.02108629047870636,0.07546887546777725,0.056149739772081375,-0.01266847550868988,0.023099826648831367,0.033572424203157425,0.0018432731740176678,-0.01756606251001358,0.060724057257175446,0.04019973427057266,0.0187228973954916,-0.034152500331401825,-0.034975096583366394,0.05602458491921425,-0.01720142364501953,-0.04200385883450508,-0.005915438756346703,0.04974375665187836,-0.06926773488521576,-0.027901772409677505,0.0007827704539522529,0.04093310236930847,-0.0445101372897625,-0.04872944578528404,-0.002661655191332102,0.08892837166786194,0.12077690660953522,-0.031700246036052704,0.008966736495494843,-0.020614879205822945,-0.04214325174689293,0.09248723089694977,0.012272832915186882,0.03789548575878143,0.0721842497587204,-0.028616590425372124,0.020248470827937126,0.0842500627040863,0.030446691438555717,0.011253142729401588,0.020550614222884178,0.02559511736035347,0.03574708104133606,0.03422650322318077,-0.0746365413069725,0.05465991050004959,0.037171103060245514,0.05248453840613365,0.002069835551083088,-0.008089751936495304,-0.011679762043058872,-0.12151028215885162,-0.008391043171286583,-0.014654085040092468,-0.054292161017656326,0.06412038207054138,-0.05077509954571724,0.0580800399184227,-0.01631723903119564,-0.01568209007382393,0.04950840398669243,-0.09341369569301605,0.023440195247530937,0.09112592786550522,0.00047929398715496063,-0.08850732445716858,-1.9623214127787707e-33,-0.12491357326507568,0.020150018855929375,0.03034389577805996,0.11277838796377182,0.034695543348789215,-0.011876045726239681,-0.06076759099960327,-0.011039776727557182,0.02729235216975212,0.10424460470676422,-0.001800763071514666,-0.008416797965765,0.06515590846538544,0.02585623413324356,-0.05551620572805405,0.07288996875286102,-0.010547428391873837,-0.03874387964606285,-0.00592134241014719,0.08981339633464813,-0.036455925554037094,0.04666841775178909,-0.021836930885910988,-0.016903260722756386,-0.011249814182519913,-0.019797921180725098,-0.017575707286596298,0.0004202927812002599,-0.05519506707787514,0.011089515872299671,0.030541645362973213,-0.02105090580880642,-0.0651649683713913,0.05198892205953598,-0.033706434071063995,0.006662809755653143,-0.026725811883807182,0.006605037488043308,-0.035417590290308,0.11581236124038696,0.011658085510134697,0.027106603607535362,-0.13228893280029297,-0.007210239302366972,-0.026874540373682976,-0.07146837562322617,-0.025904450565576553,0.03189704194664955,0.04362832009792328,-0.05089547485113144,-0.016457589343190193,-0.0020786665845662355,0.034416407346725464,-0.07606993615627289,-0.0384371243417263,0.09190164506435394,-0.0023519210517406464,-0.03578750416636467,0.0174117274582386,0.07065414637327194,-0.05423733592033386,-0.1115489974617958,0.034914083778858185,0.009716940112411976,0.017698979005217552,0.02325839176774025,-0.023224983364343643,0.08413097262382507,-0.05165207386016846,-0.04000084102153778,0.05087630823254585,0.031228039413690567,-0.007687970530241728,0.013114201836287975,0.009889479726552963,-0.06657213717699051,-0.04740755632519722,-0.045509014278650284,-0.016498880460858345,-0.05309320613741875,0.0233579371124506,-0.05407179892063141,0.02378183975815773,0.061486922204494476,0.016216298565268517,0.039252132177352905,0.022517172619700432,-0.013490748591721058,0.02116474136710167,-0.054400794208049774,0.0016664628637954593,0.08511592447757721,0.0061784167774021626,0.026095809414982796,-0.05038367956876755,-1.5553007770563454e-8,0.0017935795476660132,-0.06964796036481857,0.10214224457740784,-0.013182144612073898,0.0788150355219841,0.030127938836812973,-0.09085867553949356,0.06065487489104271,-0.02620915323495865,0.009598396718502045,0.021433483809232712,0.015229065902531147,0.006221206393092871,0.037634145468473434,-0.019239604473114014,0.01714528165757656,0.004608516115695238,0.022722238674759865,0.011902491562068462,0.009837309829890728,0.0965832769870758,0.01768278144299984,0.05329291522502899,-0.042203258723020554,0.04997896030545235,-0.06958130747079849,0.022804096341133118,0.04385494440793991,-0.01289377547800541,0.04677840694785118,-0.03932027146220207,0.06900487095117569,-0.0089718047529459,-0.00459922244772315,0.11239369213581085,0.11475653201341629,0.029179617762565613,-0.05705489590764046,-0.022557003423571587,0.028765123337507248,-0.055568233132362366,0.03479662165045738,-0.10511929541826248,-0.0041320896707475185,0.07684381306171417,0.024079209193587303,0.012334967032074928,-0.13599443435668945,0.01641032285988331,-0.005830815527588129,0.016982978209853172,0.05224009230732918,0.0589921697974205,0.059258945286273956,0.07644383609294891,0.01571839489042759,0.10470645874738693,-0.022268055006861687,0.008824847638607025,0.046184878796339035,-0.0035121834371238947,0.04443963244557381,-0.0010735581163316965,-0.08990925550460815));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 't' absent
+ 1
––– input –––
mysql -E -h0 -P2306 -e "debug wait c status 3 like 'state' option 'timeout'=10;" | awk '/Value:/{print $2}'
––– output –––
- 3
+ 0
––– input –––
mysql -E -h0 -P2306 -e "select id, f from c:t order by id asc;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: unknown local table(s) 't' in search request
- id: 1
-  f: bread
- *************************** 2. row ***************************
- id: 11
-  f: not related text presented for testing
––– input –––
mysql -h0 -P1306 -e "alter cluster c drop t;"
––– output –––
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 't'
––– input –––
mysql -h0 -P1306 -e "drop table t;"
––– output –––
+ ERROR 1064 (42000) at line 1: DROP TABLE failed: unknown table 't'

Use version-bounded Obsoletes for split packages in the monolithic RPM bundle so DNF/YUM does not select manticore when a user explicitly installs a current split package such as manticore-common.
@sanikolaev sanikolaev force-pushed the fix/rpm-bundle-obsoletes branch from 0e2946a to 5f9f81b Compare June 18, 2026 17:08
@github-actions

Copy link
Copy Markdown
Contributor

clt

❌ CLT tests in test/clt-tests/buddy-plugins/test-auth-set-password test/clt-tests/buddy-plugins/test-auth-sharding test/clt-tests/buddy-plugins/test-auth-show-permissions test/clt-tests/buddy-plugins/test-auth-show-tables test/clt-tests/buddy-plugins/test-auth-show-token test/clt-tests/buddy-plugins/test-auth-show-usage test/clt-tests/buddy-plugins/test-auth-show-users test/clt-tests/buddy-plugins/test-auth-system-tables test/clt-tests/buddy-plugins/test-auth-token test/clt-tests/buddy-plugins/test-conversational-advanced test/clt-tests/buddy-plugins/test-conversational-basic test/clt-tests/buddy-plugins/test-conversational-intent test/clt-tests/buddy-plugins/test-conversational-negative test/clt-tests/buddy-plugins/test-enable-disable-buddy-plugin test/clt-tests/buddy-plugins/test-facet-with-option-fuzzy
✅ OK: 11
❌ Failed: 4
⏳ Duration: 162s
👉 Check Action Results for commit 9113fc2

Failed tests:

🔧 Edit failed tests in UI:

test/clt-tests/buddy-plugins/test-conversational-intent.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd $SEARCHD_FLAGS > /dev/null; if timeout 30 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
OK
––– input –––
apt-get install jq -y > /dev/null; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 << EOF
CREATE TABLE docs (
    id BIGINT,
    content TEXT,
    title TEXT,
    category TEXT,
    embedding_vector FLOAT_VECTOR
    knn_type='hnsw'
    hnsw_similarity='cosine'
    model_name='sentence-transformers/all-MiniLM-L6-v2'
    from='content'
    api_key='\${OPENAI_API_KEY}'
) TYPE='rt';
EOF
––– output –––
+ ERROR 1064 (42000) at line 1: error adding table 'docs': prealloc: Failed to download model configuration
––– input –––
mysql -h0 -P9306 << 'EOF'
INSERT INTO docs (id, content, title, category) VALUES
(1, 'Artificial intelligence is the capability of computational systems to perform tasks typically associated with human intelligence such as learning, reasoning, problem-solving, perception and decision-making. High-profile applications include advanced web search engines, recommendation systems, virtual assistants, autonomous vehicles and generative AI tools. The field was founded as an academic discipline in 1956 and has gone through multiple cycles of optimism and disappointment known as AI winters.', 'Artificial Intelligence', 'AI'),
(2, 'Machine learning is a field of study in artificial intelligence concerned with the development of statistical algorithms that can learn from data and generalize to unseen data. It finds application in natural language processing, computer vision, speech recognition, email filtering, agriculture and medicine. Deep learning, a subset of machine learning, has allowed neural networks to surpass many previous approaches in performance.', 'Machine Learning', 'AI'),
(3, 'Retrieval-augmented generation (RAG) is a technique that enables large language models to retrieve and incorporate new information. RAG improves LLMs by incorporating information retrieval before generating responses, pulling relevant text from databases, uploaded documents or web sources. This method helps reduce AI hallucinations and allows LLMs to include sources in their responses for greater transparency.', 'Retrieval-Augmented Generation', 'AI'),
(4, 'PHP is a general-purpose scripting language geared towards web development created by Rasmus Lerdorf in 1993. PHP code is usually processed on a web server by a PHP interpreter implemented as a module, a daemon or a Common Gateway Interface executable. The language has evolved without a written formal specification with the original implementation acting as the de facto standard.', 'PHP', 'Programming'),
(5, 'Python is a high-level general-purpose programming language designed by Guido van Rossum. Its design philosophy emphasizes code readability with the use of significant indentation. Python supports multiple programming paradigms including structured, object-oriented and functional programming. It consistently ranks as one of the most popular programming languages and has gained widespread use in the machine learning community.', 'Python', 'Programming'),
(6, 'Breaking Bad is an American neo-Western crime drama television series created by Vince Gilligan for AMC. The series follows Walter White, an underpaid high school chemistry teacher who turns to producing methamphetamine after being diagnosed with lung cancer. The show stars Bryan Cranston as Walter White, Aaron Paul as Jesse Pinkman, Anna Gunn as Skyler White, Dean Norris as Hank Schrader, and Bob Odenkirk as Saul Goodman. It premiered in 2008 and has been praised as one of the greatest television series of all time.', 'Breaking Bad', 'Entertainment'),
(7, 'The Mandalorian is an American space Western television series created by Jon Favreau for Disney Plus. It is the first live-action series in the Star Wars franchise and follows Din Djarin, a lone bounty hunter played by Pedro Pascal, who protects a Force-sensitive child named Grogu. The series premiered with the launch of Disney Plus on November 12, 2019 and has received largely positive reviews from critics.', 'The Mandalorian', 'Entertainment'),
(8, 'Stranger Things is an American television series created by the Duffer Brothers for Netflix. Set in the 1980s, the series centers on the residents of the fictional small town of Hawkins, Indiana, after a nearby facility opens a gateway to a hostile alternate dimension known as the Upside Down. The show stars Winona Ryder, David Harbour, Millie Bobby Brown and Finn Wolfhard.', 'Stranger Things', 'Entertainment'),
(9, 'Game of Thrones is an American fantasy drama television series created by David Benioff for HBO. It is an adaptation of A Song of Ice and Fire novels. Set on the fictional continents of Westeros and Essos, the show follows several story arcs throughout eight seasons including the Iron Throne succession and the threat from the North.', 'Game of Thrones', 'Entertainment'),
(10, 'The Office is an American mockumentary sitcom television series adapted for NBC by Greg Daniels. The show depicts the everyday work lives of office employees at the Scranton Pennsylvania branch of the fictional Dunder Mifflin Paper Company. It stars Steve Carell, Rainn Wilson, John Krasinski, Jenna Fischer and B.J. Novak.', 'The Office', 'Entertainment');
EOF
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "debug sleep 30;" > /dev/null 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL test_assistant (model='openai:gpt-4o-mini');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CALL CHAT('What is RAG?', 'docs', 'test_assistant', 'test-conv-intent-001')\G;" | awk '/^         response: ?/ { r=$0; in_response=1; next } in_response && /^          sources: / { print r; print; in_response=0; next } in_response { r=r " " $0; next } { print } END { if (in_response) print r }' | tee /tmp/output_1.txt
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: Table 'docs' has no FLOAT_VECTOR field
- conversation_uuid: test-conv-intent-001
-        user_query: What is RAG?
-      search_query: #!/.*(RAG|[Rr]etrieval|[Gg]eneration).*/!#
-          response: #!/.*(RAG|[Rr]etrieval|[Gg]eneration).*/!#
-           sources: #!/.*/!#
––– input –––
grep 'sources:' /tmp/output_1.txt | grep -o '\[.*\]' | head -1 | { read -r s; if echo "$s" | jq -e 'map(.id) | contains([3])' >/dev/null 2>&1; then echo "OK"; else echo "FAIL"; echo "Found: $(echo "$s" | jq -c 'map(.id)')"; echo "$s"; fi; }
––– output –––
- OK
+ FAIL
+ Found:
––– input –––
mysql -h0 -P9306 -e "CALL CHAT('Its boring', 'docs', 'test_assistant', 'test-conv-intent-001')\G;" | awk '/^         response: ?/ { r=$0; in_response=1; next } in_response && /^          sources: / { print r; print; in_response=0; next } in_response { r=r " " $0; next } { print } END { if (in_response) print r }'
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: Table 'docs' has no FLOAT_VECTOR field
- conversation_uuid: test-conv-intent-001
-        user_query: Its boring
-      search_query:
-          response: #!/.*/!#
-           sources: []
––– input –––
mysql -h0 -P9306 -e "CALL CHAT('what about movies?', 'docs', 'test_assistant', 'test-conv-intent-001')\G;" | awk '/^         response: ?/ { r=$0; in_response=1; next } in_response && /^          sources: / { print r; print; in_response=0; next } in_response { r=r " " $0; next } { print } END { if (in_response) print r }' | tee /tmp/output_3.txt
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: Table 'docs' has no FLOAT_VECTOR field
- conversation_uuid: test-conv-intent-001
-        user_query: what about movies?
-      search_query: #!/.*movie.*/!#
-          response: #!/.*/!#
-           sources: #!/.*/!#
––– input –––
grep 'sources:' /tmp/output_3.txt | grep -o '\[.*\]' | head -1 | { read -r s; if echo "$s" | jq -e 'map(.id) | contains([8])' >/dev/null 2>&1; then echo "OK"; else echo "FAIL"; echo "Found: $(echo "$s" | jq -c 'map(.id)')"; echo "$s"; fi; }
––– output –––
- OK
+ FAIL
+ Found:
––– input –––
mysql -h0 -P9306 -e "CALL CHAT('I like Breaking Bad', 'docs', 'test_assistant', 'test-conv-intent-001')\G;" | awk '/^         response: ?/ { r=$0; in_response=1; next } in_response && /^          sources: / { print r; print; in_response=0; next } in_response { r=r " " $0; next } { print } END { if (in_response) print r }' | tee /tmp/output_4.txt
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: Table 'docs' has no FLOAT_VECTOR field
- conversation_uuid: test-conv-intent-001
-        user_query: I like Breaking Bad
-      search_query: #!/.*[Bb]reaking [Bb]ad.*/!#
-          response: #!/.*[Bb]reaking [Bb]ad.*/!#
-           sources: #!/.*/!#
––– input –––
grep 'sources:' /tmp/output_4.txt | grep -o '\[.*\]' | head -1 | { read -r s; if echo "$s" | jq -e 'map(.id) | contains([6])' >/dev/null 2>&1; then echo "OK"; else echo "FAIL"; echo "Found: $(echo "$s" | jq -c 'map(.id)')"; echo "$s"; fi; }
––– output –––
- OK
+ FAIL
+ Found:
––– input –––
mysql -h0 -P9306 -e "CALL CHAT('show me more entertainment', 'docs', 'test_assistant', 'test-conv-intent-001')\G;" | awk '/^         response: ?/ { r=$0; in_response=1; next } in_response && /^          sources: / { print r; print; in_response=0; next } in_response { r=r " " $0; next } { print } END { if (in_response) print r }'
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: Table 'docs' has no FLOAT_VECTOR field
- conversation_uuid: test-conv-intent-001
-        user_query: show me more entertainment
-      search_query: #!/.*/!#
-          response: #!/.*/!#
-           sources: #!/.*/!#
––– input –––
mysql -h0 -P9306 -e "CALL CHAT('Tell me about Python', 'docs', 'test_assistant', 'test-conv-intent-001')\G;" | awk '/^         response: ?/ { r=$0; in_response=1; next } in_response && /^          sources: / { print r; print; in_response=0; next } in_response { r=r " " $0; next } { print } END { if (in_response) print r }' | tee /tmp/output_7.txt
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: Table 'docs' has no FLOAT_VECTOR field
- conversation_uuid: test-conv-intent-001
-        user_query: Tell me about Python
-      search_query: #!/.*[Pp]ython.*/!#
-          response: #!/.*[Pp]ython.*/!#
-           sources: #!/.*/!#
––– input –––
grep 'sources:' /tmp/output_7.txt | grep -o '\[.*\]' | head -1 | { read -r s; if echo "$s" | jq -e 'map(.id) | contains([5])' >/dev/null 2>&1; then echo "OK"; else echo "FAIL"; echo "Found: $(echo "$s" | jq -c 'map(.id)')"; echo "$s"; fi; }
––– output –––
- OK
+ FAIL
+ Found:
––– input –––
mysql -h0 -P9306 -e "DROP CHAT MODEL test_assistant;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS docs;"
––– output –––
OK
test/clt-tests/buddy-plugins/test-conversational-basic.rec
––– input –––
export SEARCHD_FLAGS="--iostats --cpustats"
––– output –––
OK
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd $SEARCHD_FLAGS > /dev/null; if timeout 30 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS docs;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 << EOF
CREATE TABLE docs (
    id BIGINT,
    content TEXT,
    title TEXT,
    embedding_vector FLOAT_VECTOR
    knn_type='hnsw'
    hnsw_similarity='cosine'
    model_name='sentence-transformers/all-MiniLM-L6-v2'
    from='content,title'
    api_key='\${OPENAI_API_KEY}'
) TYPE='rt';
EOF
––– output –––
+ ERROR 1064 (42000) at line 1: error adding table 'docs': prealloc: Failed to download model configuration
––– input –––
mysql -h0 -P9306 -e "INSERT INTO docs (id, content, title) VALUES (1, 'Vector search uses embeddings to find semantically similar documents', 'Vector Search Guide');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO docs (id, content, title) VALUES (2, 'Full-text search and KNN capabilities for efficient retrieval', 'Manticore Features');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "INSERT INTO docs (id, content, title) VALUES (3, 'Retrieval-Augmented Generation combines search with LLM for intelligent responses', 'RAG Introduction');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "debug sleep 20;" > /dev/null 2>&1
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM docs;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 << 'EOF'
CREATE CHAT MODEL test_assistant (
    description='Chat GPT cheap reasoning model',
    model='openai:gpt-4o-mini'
);
EOF
––– output –––
OK
––– input –––
mysql -h0 -P9306 << 'EOF'
CREATE CHAT MODEL advanced_assistant (
    description='Chat GPT v4 reasoning model',
    model='openai:gpt-4o',
    timeout=60,
    retrieval_limit=5,
    max_document_length=3000
);
EOF
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW CHAT MODELS"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DESCRIBE CHAT MODEL test_assistant\G"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DESCRIBE CHAT MODEL advanced_assistant\G"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CALL CHAT('What is vector search?', 'docs', 'test_assistant')\G" | awk '/^         response: ?/ { r=$0; in_response=1; next } in_response && /^          sources: / { print r; print; in_response=0; next } in_response { r=r " " $0; next } { print } END { if (in_response) print r }'
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: Table 'docs' has no FLOAT_VECTOR field
- conversation_uuid: #!/[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}/!#
-        user_query: What is vector search?
-      search_query: What is vector search?
-          response: #!/.*[Vv]ector.*[Ss]earch.*/!#
-           sources: [{"id":1,"content":"Vector search uses embeddings to find semantically similar documents","title":"Vector Search Guide","@knn_dist":0.%{NUMBER},"knn_dist":0.%{NUMBER}},{"id":2,"content":"Full-text search and KNN capabilities for efficient retrieval","title":"Manticore Features","@knn_dist":0.%{NUMBER},"knn_dist":0.%{NUMBER}},{"id":3,"content":"Retrieval-Augmented Generation combines search with LLM for intelligent responses","title":"RAG Introduction","@knn_dist":0.%{NUMBER},"knn_dist":0.%{NUMBER}}]
––– input –––
mysql -h0 -P9306 -e "CALL CHAT('Tell me about RAG', 'docs', 'test_assistant')\G" | awk '/^         response: ?/ { r=$0; in_response=1; next } in_response && /^          sources: / { print r; print; in_response=0; next } in_response { r=r " " $0; next } { print } END { if (in_response) print r }'
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: Table 'docs' has no FLOAT_VECTOR field
- conversation_uuid: #!/[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}/!#
-        user_query: Tell me about RAG
-      search_query: #!/.*RAG.*/!#
-          response: #!/.+/!#
-           sources: [{"id":3,"content":"Retrieval-Augmented Generation combines search with LLM for intelligent responses","title":"RAG Introduction","@knn_dist":0.%{NUMBER},"knn_dist":0.%{NUMBER}}]
––– input –––
mysql -h0 -P9306 -e "CALL CHAT('Can you explain more?', 'docs', 'test_assistant', 'test-conv-12345678-1234-1234-1234-123456789abc')\G" | awk '/^         response: ?/ { r=$0; in_response=1; next } in_response && /^          sources: / { print r; print; in_response=0; next } in_response { r=r " " $0; next } { print } END { if (in_response) print r }'
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: Table 'docs' has no FLOAT_VECTOR field
- conversation_uuid: test-conv-12345678-1234-1234-1234-123456789abc
-        user_query: Can you explain more?
-      search_query: #!/.+/!#
-          response: #!/.+/!#
-           sources: []
––– input –––
mysql -h0 -P9306 -e "DROP CHAT MODEL test_assistant;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP CHAT MODEL advanced_assistant;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW CHAT MODELS;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS docs;"
––– output –––
OK
test/clt-tests/buddy-plugins/test-conversational-negative.rec
––– input –––
export SEARCHD_FLAGS="--iostats --cpustats"
––– output –––
OK
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd $SEARCHD_FLAGS > /dev/null; if timeout 30 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 << EOF
CREATE TABLE test_docs (
    id BIGINT,
    content TEXT,
    title TEXT,
    embedding_vector FLOAT_VECTOR
    knn_type='hnsw'
    hnsw_similarity='cosine'
    model_name='sentence-transformers/all-MiniLM-L6-v2'
    from='content'
    api_key='\${OPENAI_API_KEY}'
) TYPE='rt';
EOF
––– output –––
+ ERROR 1064 (42000) at line 1: error adding table 'test_docs': prealloc: Failed to download model configuration
––– input –––
mysql -h0 -P9306 -e "INSERT INTO test_docs (id, content, title) VALUES (1, 'Test document for error handling', 'Test Doc');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL valid_model (model='openai:gpt-4o-mini');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL incomplete_model (description='openai');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL incomplete_model (unsupported='openai');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL valid_model (model='openai:gpt-4o-mini');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DESCRIBE CHAT MODEL nonexistent_model;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 << 'EOF'
CALL CHAT(
    'test query',
    'test_docs',
    'nonexistent_model',
    'content'
);
EOF
––– output –––
OK
––– input –––
mysql -h0 -P9306 << 'EOF'
CALL CHAT(
    'test query',
    'nonexistent_table',
    'valid_model',
    'content'
);
EOF
––– output –––
OK
––– input –––
mysql -h0 -P9306 << 'EOF'
CALL CHAT(
    'test query',
    'test_docs'
);
EOF
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP CHAT MODEL nonexistent_model;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL invalid_temp_model (model='gpt-4o-mini');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL invalid_temp_low_model (model='openai:gpt-4o-mini', timeout='-0.5');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL invalid_temp_low_model_2 (model='openai:gpt-4o-mini', timeout='NaN');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL invalid_temp_low_model_3 (model='openai:gpt-4o-mini', retrieval_limit=-2);"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL invalid_temp_low_model_4 (model='openai:gpt-4o-mini', retrieval_limit=-1);"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL invalid_temp_low_model_5 (model='openai:gpt-4o-mini', retrieval_limit=0.72);"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL invalid_temp_low_model_6 (model='openai:gpt-4o-mini', retrieval_limit='0.72');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL invalid_temp_low_model_5 (model='openai:gpt-4o-mini', retrieval_limit=5.72);"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL invalid_temp_low_model_6 (model='openai:gpt-4o-mini', retrieval_limit='5.72');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL invalid_temp_low_model_7 (model='openai:gpt-4o-mini', retrieval_limit='99993839857847384737564378672661');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL invalid_temp_low_model_8 (model='openai:gpt-4o-mini', retrieval_limit='NaN');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL invalid_temp_low_model_11 (model='openai:gpt-4o-mini', max_document_length=-50);"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL invalid_temp_low_model_12 (model='openai:gpt-4o-mini', max_document_length='-50');"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL invalid_temp_low_model_13 (model='openai:gpt-4o-mini', max_document_length=2.72);"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL invalid_temp_low_model_15 (model='openai:gpt-4o-mini', max_document_length=0);"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL invalid_temp_low_model_16 (model='openai:gpt-4o-mini', max_document_length=90990438589382393829473742987897189237);"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP CHAT MODEL valid_model;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS test_docs;"
––– output –––
OK
test/clt-tests/buddy-plugins/test-conversational-advanced.rec
––– input –––
export SEARCHD_FLAGS="--iostats --cpustats"
––– output –––
OK
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd $SEARCHD_FLAGS > /dev/null; if timeout 30 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
OK
––– input –––
apt-get install jq -y > /dev/null; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS knowledge_base;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 << EOF
CREATE TABLE knowledge_base (
    id BIGINT,
    title TEXT,
    summary TEXT,
    content TEXT,
    category TEXT,
    tags TEXT,
    embedding_vector FLOAT_VECTOR
    knn_type='hnsw'
    hnsw_similarity='cosine'
    model_name='sentence-transformers/all-MiniLM-L6-v2'
    from='title,content'
    api_key='\${OPENAI_API_KEY}'
) TYPE='rt';
EOF
––– output –––
+ ERROR 1064 (42000) at line 1: error adding table 'knowledge_base': prealloc: Failed to download model configuration
––– input –––
mysql -h0 -P9306 << 'EOF'
INSERT INTO knowledge_base (id, title, summary, content, category, tags)
VALUES
(1, 'Getting Started with Manticore', 'Quick start guide', 'Install Manticore Search and configure your first index', 'Tutorial', 'installation,quickstart'),
(2, 'Vector Search Explained', 'Understanding vectors', 'Vector search uses embeddings to find semantically similar documents', 'Concepts', 'vectors,knn,similarity'),
(3, 'Full-Text Search Guide', 'Text search basics', 'Use MATCH() operator for full-text search with ranking', 'Tutorial', 'fulltext,match,ranking'),
(4, 'RAG Architecture', 'RAG pattern overview', 'Retrieval-Augmented Generation combines search with LLM for intelligent responses', 'Advanced', 'rag,llm,ai'),
(5, 'Clustering Setup', 'Distributed search', 'Configure replication and sharding for high availability', 'Advanced', 'cluster,replication,sharding');
EOF
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SELECT COUNT(*) FROM knowledge_base;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL fast_assistant (model='openai:gpt-3.5-turbo', max_document_length=0, retrieval_limit=3);"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL detailed_assistant (model='openai:gpt-4o', max_document_length=0, retrieval_limit=5);"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CREATE CHAT MODEL creative_assistant (model='openai:gpt-4o-mini', max_document_length=2000, retrieval_limit=4);"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW CHAT MODELS;" | grep -c "openai"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "CALL CHAT('Tell me about vector search', 'knowledge_base', 'fast_assistant')\G;" | awk '/^         response: ?/ { r=$0; in_response=1; next } in_response && /^          sources: / { print r; print; in_response=0; next } in_response { r=r " " $0; next } { print } END { if (in_response) print r }' | tee /tmp/output_1.txt
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: Table 'knowledge_base' has no FLOAT_VECTOR field
- conversation_uuid: #!/[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}/!#
-        user_query: Tell me about vector search
-      search_query: #!/.*[Vv]ector.*[Ss]earch.*/!#
-          response: #!/.*[Vv]ector.*[Ss]earch.*/!#
-           sources: #!/.*/!#
––– input –––
grep 'sources:' /tmp/output_1.txt | grep -o '\[.*\]' | head -1 | { read -r s; if echo "$s" | jq -e 'map(.id) | contains([2,3,4])' >/dev/null 2>&1; then echo "OK"; else echo "FAIL"; echo "Found: $(echo "$s" | jq -c 'map(.id)')"; echo "$s"; fi; }
––– output –––
- OK
+ FAIL
+ Found:
––– input –––
mysql -h0 -P9306 -e "CALL CHAT('Explain vector search', 'knowledge_base', 'detailed_assistant')\G;" | awk '/^         response: ?/ { r=$0; in_response=1; next } in_response && /^          sources: / { print r; print; in_response=0; next } in_response { r=r " " $0; next } { print } END { if (in_response) print r }' | tee /tmp/output_2.txt
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: Table 'knowledge_base' has no FLOAT_VECTOR field
- conversation_uuid: #!/[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}/!#
-        user_query: Explain vector search
-      search_query: #!/.*[Vv]ector.*[Ss]earch.*/!#
-          response: #!/.*[Vv]ector.*[Ss]earch.*[Ee]mbedding.*/!#
-           sources: #!/.*/!#
––– input –––
grep 'sources:' /tmp/output_2.txt | grep -o '\[.*\]' | head -1 | { read -r s; if echo "$s" | jq -e 'map(.id) | contains([2,3,4])' >/dev/null 2>&1; then echo "OK"; else echo "FAIL"; echo "Found: $(echo "$s" | jq -c 'map(.id)')"; echo "$s"; fi; }
––– output –––
- OK
+ FAIL
+ Found:
––– input –––
mysql -h0 -P9306 -e "CALL CHAT('Tell me about RAG architecture', 'knowledge_base', 'creative_assistant')\G;" | awk '/^         response: ?/ { r=$0; in_response=1; next } in_response && /^          sources: / { print r; print; in_response=0; next } in_response { r=r " " $0; next } { print } END { if (in_response) print r }' | tee /tmp/output_3.txt
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: Table 'knowledge_base' has no FLOAT_VECTOR field
- conversation_uuid: #!/[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}/!#
-        user_query: Tell me about RAG architecture
-      search_query: #!/.*(RAG|[Rr]etrieval|[Gg]eneration).*/!#
-          response: #!/.*(RAG|[Rr]etrieval|[Gg]eneration).*/!#
-           sources: #!/.*/!#
––– input –––
grep 'sources:' /tmp/output_3.txt | grep -o '\[.*\]' | head -1 | { read -r s; if echo "$s" | jq -e 'map(.id) | contains([4])' >/dev/null 2>&1; then echo "OK"; else echo "FAIL"; echo "Found: $(echo "$s" | jq -c 'map(.id)')"; echo "$s"; fi; }
––– output –––
- OK
+ FAIL
+ Found:
––– input –––
mysql -h0 -P9306 -e "CALL CHAT('What is clustering?', 'knowledge_base', 'fast_assistant', 'conv-test-1234-5678-90ab-cdef12345678')\G;" | awk '/^         response: ?/ { r=$0; in_response=1; next } in_response && /^          sources: / { print r; print; in_response=0; next } in_response { r=r " " $0; next } { print } END { if (in_response) print r }' | tee /tmp/output_4.txt
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: Table 'knowledge_base' has no FLOAT_VECTOR field
- conversation_uuid: conv-test-1234-5678-90ab-cdef12345678
-        user_query: What is clustering?
-      search_query: #!/.*[Cc]luster.*/!#
-          response: #!/.*/!#
-           sources: #!/.*/!#
––– input –––
grep 'sources:' /tmp/output_4.txt | grep -o '\[.*\]' | head -1 | { read -r s; if echo "$s" | jq -e 'map(.id) | contains([5])' >/dev/null 2>&1; then echo "OK"; else echo "FAIL"; echo "Found: $(echo "$s" | jq -c 'map(.id)')"; echo "$s"; fi; }
––– output –––
- OK
+ FAIL
+ Found:
––– input –––
mysql -h0 -P9306 -e "CALL CHAT('How do I configure it?', 'knowledge_base', 'fast_assistant', 'conv-test-1234-5678-90ab-cdef12345678')\G;" | awk '/^         response: ?/ { r=$0; in_response=1; next } in_response && /^          sources: / { print r; print; in_response=0; next } in_response { r=r " " $0; next } { print } END { if (in_response) print r }' | tee /tmp/output_5.txt
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: Table 'knowledge_base' has no FLOAT_VECTOR field
- conversation_uuid: conv-test-1234-5678-90ab-cdef12345678
-        user_query: How do I configure it?
-      search_query: #!/.*[Cc]luster.*/!#
-          response: #!/.*/!#
-           sources: #!/.*/!#
––– input –––
grep 'sources:' /tmp/output_5.txt | grep -o '\[.*\]' | head -1 | { read -r s; if echo "$s" | jq -e 'map(.id) | contains([5])' >/dev/null 2>&1; then echo "OK"; else echo "FAIL"; echo "Found: $(echo "$s" | jq -c 'map(.id)')"; echo "$s"; fi; }
––– output –––
- OK
+ FAIL
+ Found:
––– input –––
mysql -h0 -P9306 -e "CALL CHAT('What are best practices?', 'knowledge_base', 'fast_assistant', 'conv-test-1234-5678-90ab-cdef12345678')\G;" | awk '/^         response: ?/ { r=$0; in_response=1; next } in_response && /^          sources: / { print r; print; in_response=0; next } in_response { r=r " " $0; next } { print } END { if (in_response) print r }' | tee /tmp/output_6.txt
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: Table 'knowledge_base' has no FLOAT_VECTOR field
- conversation_uuid: conv-test-1234-5678-90ab-cdef12345678
-        user_query: What are best practices?
-      search_query: #!/.*[Cc]luster.*/!#
-          response: #!/.*/!#
-           sources: #!/.*/!#
––– input –––
grep 'sources:' /tmp/output_6.txt | grep -o '\[.*\]' | head -1 | { read -r s; if echo "$s" | jq -e 'map(.id) | contains([5])' >/dev/null 2>&1; then echo "OK"; else echo "FAIL"; echo "Found: $(echo "$s" | jq -c 'map(.id)')"; echo "$s"; fi; }
––– output –––
- OK
+ FAIL
+ Found:
––– input –––
mysql -h0 -P9306 -e "CALL CHAT('Show me tutorials', 'knowledge_base', 'creative_assistant', 'conv-other-aaaa-bbbb-cccc-dddddddddddd')\G;" | awk '/^         response: ?/ { r=$0; in_response=1; next } in_response && /^          sources: / { print r; print; in_response=0; next } in_response { r=r " " $0; next } { print } END { if (in_response) print r }'
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: Table 'knowledge_base' has no FLOAT_VECTOR field
- conversation_uuid: conv-other-aaaa-bbbb-cccc-dddddddddddd
-        user_query: Show me tutorials
-      search_query: #!/.*tutorials.*/!#
-          response: #!/.*/!#
-           sources: #!/.*/!#
––– input –––
mysql -h0 -P9306 -e "DROP CHAT MODEL fast_assistant;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP CHAT MODEL detailed_assistant;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP CHAT MODEL creative_assistant;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW CHAT MODELS;"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS knowledge_base;"
––– output –––
OK

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pack To trigger CI to build packages for PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant