Skip to content

Commit

Permalink
Added changes
Browse files Browse the repository at this point in the history
  • Loading branch information
parteek2813 committed Jan 8, 2024
1 parent e839341 commit c90fa9f
Show file tree
Hide file tree
Showing 48 changed files with 8,574 additions and 6,814 deletions.
2 changes: 1 addition & 1 deletion JS/edgechains/examples/hydeSearch/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
"typescript": "^5.3.2"
},
"devDependencies": {
"@arakoodev/edgechains.js": "0.1.10",
"@hanazuki/node-jsonnet": "^2.1.0",
"@types/jest": "^29.5.8",
"@types/node": "^20.9.4",
Expand All @@ -40,7 +41,6 @@
"jest": "^29.7.0",
"prettier": "^3.1.0",
"react": "^18.2.0",
"@arakoodev/edgechains.js": "0.1.10",
"ts-jest": "^29.1.1",
"tsx": "^3.12.2",
"typeorm": "^0.3.17",
Expand Down
59 changes: 30 additions & 29 deletions JS/edgechains/examples/hydeSearch/src/HydeSearch.test.ts
Original file line number Diff line number Diff line change
@@ -1,36 +1,37 @@
import { ArkRequest } from "@arakoodev/edgechains.js";
import dotenv from "dotenv";

import { hydeSearchAdaEmbedding } from "./HydeSearch";

dotenv.config({ path: ".env" });
describe("Hyde Search", () => {
it("should return a response", async () => {
const arkRequest: ArkRequest = {
topK: 5,
metadataTable: "title_metadata",
query: "tell me the top 5 programming languages currently",
textWeight: {
baseWeight: "1.0",
fineTuneWeight: "0.35",
},
similarityWeight: {
baseWeight: "1.5",
fineTuneWeight: "0.40",
},
dateWeight: {
baseWeight: "1.25",
fineTuneWeight: "0.75",
},
orderRRF: "default",
};
expect(
(
await hydeSearchAdaEmbedding(
arkRequest,
process.env.OPENAI_API_KEY!,
process.env.OPENAI_ORG_ID!
)
).finalAnswer
).toContain("Java");
}, 30000);
it("should return a response", async () => {
const arkRequest: ArkRequest = {
topK: 5,
metadataTable: "title_metadata",
query: "tell me the top 5 programming languages currently",
textWeight: {
baseWeight: "1.0",
fineTuneWeight: "0.35",
},
similarityWeight: {
baseWeight: "1.5",
fineTuneWeight: "0.40",
},
dateWeight: {
baseWeight: "1.25",
fineTuneWeight: "0.75",
},
orderRRF: "default",
};
expect(
(
await hydeSearchAdaEmbedding(
arkRequest,
process.env.OPENAI_API_KEY!,
process.env.OPENAI_ORG_ID!
)
).finalAnswer
).toContain("Java");
}, 30000);
});
30 changes: 15 additions & 15 deletions JS/edgechains/examples/hydeSearch/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
{
"compilerOptions": {
"types": ["dotenv/config", "jest", "node"],
"target": "ES2022",
"module": "NodeNext",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true,
"jsx": "react-jsx",
"jsxImportSource": "hono/jsx",
"noImplicitAny": false,
"moduleResolution": "NodeNext",
"declaration": true
},
"include": ["src/**/*.ts", "dist/**/*.d.ts"]
"compilerOptions": {
"types": ["dotenv/config", "jest", "node"],
"target": "ES2022",
"module": "NodeNext",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true,
"jsx": "react-jsx",
"jsxImportSource": "hono/jsx",
"noImplicitAny": false,
"moduleResolution": "NodeNext",
"declaration": true
},
"include": ["src/**/*.ts", "dist/**/*.d.ts"]
}
4 changes: 4 additions & 0 deletions JS/edgechains/lib/create-edgechains/__common/htmljs.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export declare const view: (viewToRender: any) => (c: any) => Promise<any>;
export declare const rootLayout: (layoutToApply: any) => (c: any, next: any) => Promise<void>;
export declare const layout: (layoutToApply: any) => (c: any, next: any) => Promise<void>;
export declare const Link: any;
52 changes: 52 additions & 0 deletions JS/edgechains/lib/create-edgechains/__common/htmljs.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import { html } from "hono/html";
// These functions form the basis of the html.js framework and will be moved to a separate lib
export const view = (viewToRender) => {
return async (c) => {
const newBody = await viewToRender({ context: c });
return c.html(newBody);
};
};
export const rootLayout = (layoutToApply) => {
return async (c, next) => {
await next();
if (c.req.header("HX-Request") !== "true") {
// Req is a normal request, so we render the whole page which means adding the root layout
const curBody = await c.res.text();
c.res = undefined; // To overwrite res, set it to undefined before setting new value https://github.com/honojs/hono/pull/970 released in https://github.com/honojs/hono/releases/tag/v3.1.0
const newBody = await layoutToApply({ context: c, children: html(curBody) });
c.res = c.html(newBody);
}
// Else do nothing and let the original response be sent
};
};
export const layout = (layoutToApply) => {
return async (c, next) => {
await next();
if ((c.req.header("HX-Request") === "true" &&
(c.req.header("HX-Boosted") === "true" || !c.req.header("HX-Target"))) ||
c.req.header("HX-Request") !== "true") {
// Req is regular req or boosted link, so we apply layouts
const curBody = await c.res.text();
c.res = undefined; // To overwrite res, set it to undefined before setting new value https://github.com/honojs/hono/pull/970 released in https://github.com/honojs/hono/releases/tag/v3.1.0
const newBody = await layoutToApply({ context: c, children: html(curBody) });
c.res = c.html(newBody);
}
// Else do nothing and let the original response be sent, which will be a partial update applied to the page with hx-target
};
};
export const Link = ({ to, "hx-target": hxTarget, class: className, children }) => {
if (hxTarget) {
return html `<a
href="${to}"
class="${className}"
hx-get="${to}"
hx-target="${hxTarget}"
hx-push-url="true"
hx-swap="morph"
>${children}</a
>`;
}
else {
return html `<a href="${to}" class="${className}" hx-boost="true">${children}</a>`;
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
import "dotenv/config";
12 changes: 12 additions & 0 deletions JS/edgechains/lib/create-edgechains/__common/src/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import "dotenv/config";
import { serve } from "@hono/node-server";
import { Hono } from "hono";
import { HydeSearchRouter } from "./routes/hydeSearch.route.js";
import { view } from "../htmljs.js";
import ExampleLayout from "./layouts/ExampleLayout.js";
const app = new Hono();
app.route("/", HydeSearchRouter);
app.get("/", view(ExampleLayout));
serve(app, () => {
console.log("server running on port 3000");
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import { FC } from "hono/jsx";
declare const ExampleLayout: FC;
export default ExampleLayout;
Loading

0 comments on commit c90fa9f

Please sign in to comment.