Farspeak

Farspeak

Build smart apps in minutes (beta)

5.0
3 reviews

61 followers

Farspeak is an API that simplifies creating RAG apps. By leveraging vector databases and LLMs, Farspeak lets developers build powerful, AI-driven apps quickly, processing structured/unstructured data via CRUD operations.
Farspeak gallery image
Farspeak gallery image
Farspeak gallery image
Farspeak gallery image
Farspeak gallery image
Free
Launch Team

What do you think? …

Marko
Maker
📌
When we first started creating RAG-powered apps, we quickly noticed a common pattern across all of them. These apps don't need to be complex and should enable developers with zero ML experience. Additionally, they shouldn't be limited to Python. Developers using different languages should be supported as well. That's why we created Farspeak as an API first, then built packages around it to support diverse developer communities. We started with NPM to support fellow JS developers. Our goal is to provide a near-instant developer experience, enabling modern app functionalities such as processing structured (JSON) and unstructured (e.g., PDF) data, and facilitating "talk to your data" features. Farspeak's API is RESTful and utilizes CRUD operations to store and process entities. Entities are regular JSON objects, like "todos". For instance, to store a JSON object, you can either use the POST method on "/apps/my-app/dev/todos" or, with NPM, use the "write" method: farspeak.entity("todos").write({...}). Once you wrote any data you can ask questions using natural language with ".inquire" method, like so: farspeak .entity("todos") .inquire("What is my most important todo?"); Processing documents is similar to handling structured JSON data, except you use ".fromDocument" instead of ".write". This is where prompt engineering comes in—describing what you need to store and "RAG". To describe your data, along with the file path, you send "instructions" and a "template". Instructions help Farspeak understand the document better instead of guessing, such as "This is an ID document". Templates are useful for defining the properties of the entity. For example, for an ID document with "full_name" and "address" properties, you would define the template as: { "full_name": "This is the full name of the person", "address": "This is the address of the person including country code" } A full example: farspeak.entity("id_docs").fromDocument({ filePath, instructions, template }); farspeak.entity("id_docs").inquire("Where does Jane Doe live?"); We would love to hear your first impressions of the product and suggestions on what we could build next. Important links: Farspeak dashboard: https://dashboard.farspeak.ai Our NPM repo: https://github.com/farspeak/fars... Next.js example: https://github.com/farspeak/next...
Toshit Garg
Congrats on launch of Farspeak....
Michael Bucko
@toshit_garg Thank you, Toshit! We'd love to see your first app built with Farspeak!
Supriyati
Good app. Thank you
Michael Bucko
@supriyati Thank you! It'd be great to see what you've built with it!