diff --git a/fern/apis/fai/definition/commons.yml b/fern/apis/fai/definition/commons.yml index 62d895dc2..a5a9fac8f 100644 --- a/fern/apis/fai/definition/commons.yml +++ b/fern/apis/fai/definition/commons.yml @@ -7,3 +7,10 @@ errors: InternalError: status-code: 401 type: string + +types: + Pagination: + properties: + total: integer + page: integer + limit: integer \ No newline at end of file diff --git a/fern/apis/fai/definition/document.yml b/fern/apis/fai/definition/document.yml index e8e3530e8..8cfe442b3 100644 --- a/fern/apis/fai/definition/document.yml +++ b/fern/apis/fai/definition/document.yml @@ -40,7 +40,59 @@ service: authed: type: optional docs: Whether the document is authed - response: CreateDocumentResponse + response: DocumentIdResponse + errors: + - commons.BadRequestError + - commons.InternalError + + updateDocument: + docs: Update a document for a given domain + path: /{domain}/{document_id} + method: PATCH + audiences: + - customers + path-parameters: + domain: string + document_id: string + request: + name: UpdateDocumentRequest + body: + properties: + document: + type: optional + docs: The content of the document that will be returned in the tool response. + chunk: + type: optional + docs: The chunk of the document that will be indexed as a vector. + title: + type: optional + docs: The title of the document + url: + type: optional + docs: The url of the document + version: + type: optional + docs: The version of the document + keywords: + type: optional> + docs: The keywords of the document + authed: + type: optional + docs: Whether the document is authed + response: Document + errors: + - commons.BadRequestError + - commons.InternalError + + deleteDocumentById: + docs: Delete a document for a given domain + path: /{domain}/{document_id} + method: DELETE + audiences: + - customers + path-parameters: + domain: string + document_id: string errors: - commons.BadRequestError - commons.InternalError @@ -60,7 +112,7 @@ service: - commons.InternalError types: - CreateDocumentResponse: + DocumentIdResponse: properties: document_id: string diff --git a/fern/apis/fai/definition/guidance.yml b/fern/apis/fai/definition/guidance.yml index dce34fbd0..03798c69e 100644 --- a/fern/apis/fai/definition/guidance.yml +++ b/fern/apis/fai/definition/guidance.yml @@ -25,6 +25,7 @@ service: document: type: string docs: The content of the guidance document that will be returned in the tool response + response: GuidanceIdResponse errors: - commons.BadRequestError - commons.InternalError @@ -101,6 +102,10 @@ service: - commons.InternalError types: + GuidanceIdResponse: + properties: + guidance_id: string + Guidance: properties: guidance_id: string @@ -113,10 +118,4 @@ types: GuidanceList: properties: guidances: list - pagination: Pagination - - Pagination: - properties: - total: integer - page: integer - limit: integer \ No newline at end of file + pagination: commons.Pagination diff --git a/fern/products/ask-fern/ask-fern.yml b/fern/products/ask-fern/ask-fern.yml index 530c7ade6..e25b370eb 100644 --- a/fern/products/ask-fern/ask-fern.yml +++ b/fern/products/ask-fern/ask-fern.yml @@ -13,8 +13,14 @@ navigation: contents: - page: Citations path: ./pages/features/citations.mdx - - page: Custom FAQs - path: ./pages/features/custom-faqs.mdx + - page: Custom Guidance + path: ./pages/features/guidance.mdx + - page: Custom Documents + path: ./pages/features/documents.mdx + - page: Insights + path: ./pages/features/insights.mdx + - page: Evaluation + path: ./pages/features/evals.mdx - api: API reference api-name: fai icon: fa-regular fa-pro diff --git a/fern/products/ask-fern/pages/features/custom-faqs.mdx b/fern/products/ask-fern/pages/features/custom-faqs.mdx deleted file mode 100644 index 6a2fd1208..000000000 --- a/fern/products/ask-fern/pages/features/custom-faqs.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Custom FAQs -subtitle: Fine-tune your AI search responses. ---- - - - -You can add custom FAQs to your documentation to "override" Ask Fern's responses to specific user queries. This is useful for content that you may not wish to display publically, such as billing information, legal terms, and other sensitive content. - -Fern offers an internal CMS (content management system) that allows you to add and edit FAQ documents as needed. \ No newline at end of file diff --git a/fern/products/ask-fern/pages/features/documents.mdx b/fern/products/ask-fern/pages/features/documents.mdx new file mode 100644 index 000000000..21a413551 --- /dev/null +++ b/fern/products/ask-fern/pages/features/documents.mdx @@ -0,0 +1,10 @@ +--- +title: Documents +subtitle: Add arbitrary documents to Ask Fern. +--- + +You can add arbitrary documents to Ask Fern. This is useful for adding additional content that may improve Ask Fern's accuracy +(such as help desk tickets, internal company FAQs, etc.). + +Fern offers an internal CMS (content management system) via the `documents` API that allows you to add, update, +and delete documents as needed. diff --git a/fern/products/ask-fern/pages/features/evals.mdx b/fern/products/ask-fern/pages/features/evals.mdx new file mode 100644 index 000000000..da241cc34 --- /dev/null +++ b/fern/products/ask-fern/pages/features/evals.mdx @@ -0,0 +1,15 @@ +--- +title: Evals +description: Benchmark Ask Fern's accuracy against your documentation. +--- + + + +Fern evaluates how accurately Ask Fern answers questions on your documentation site compared to competitor AI search solutions. + +Fern first generates evaluation questions from your documentation files, then runs those questions through both Ask Fern and competitor systems. +Finally, Fern evaluates each answer against the original documentation for accuracy. You receive detailed performance metrics and comparative analysis. + +## Availability + +Evals are currently provided as custom analysis delivered directly by the Fern team. \ No newline at end of file diff --git a/fern/products/ask-fern/pages/features/guidance.mdx b/fern/products/ask-fern/pages/features/guidance.mdx new file mode 100644 index 000000000..adba04374 --- /dev/null +++ b/fern/products/ask-fern/pages/features/guidance.mdx @@ -0,0 +1,11 @@ +--- +title: Custom Guidance +subtitle: Fine-tune your AI search responses. +--- + +You can add custom guidance (FAQs) to "override" Ask Fern's responses to specific user queries. +This is useful for content that you may not wish to display publically, such as billing information, +legal terms, and other sensitive content. + +Fern offers an internal CMS (content management system) via the `guidance` API that allows you to add, +update, and delete FAQs as needed. \ No newline at end of file diff --git a/fern/products/ask-fern/pages/features/insights.mdx b/fern/products/ask-fern/pages/features/insights.mdx new file mode 100644 index 000000000..a1c0049bc --- /dev/null +++ b/fern/products/ask-fern/pages/features/insights.mdx @@ -0,0 +1,12 @@ +--- +title: Insights +description: Fern identifies documentation gaps and improvement opportunities from your user queries. +--- + + + +Fern analyzes Ask Fern query patterns to surface actionable recommendations for improving your documentation. After collecting sufficient query data over a month, Fern processes this through specialized models that analyze query-response pairs to identify documentation gaps, extract common themes, and generate specific suggestions for enhancing your docs. + +## Availability + +Insights are currently provided as a monthly report delivered directly by the Fern team. diff --git a/fern/products/ask-fern/pages/getting-started/what-is-ask-fern.mdx b/fern/products/ask-fern/pages/getting-started/what-is-ask-fern.mdx index 30fad6056..f5e645a0e 100644 --- a/fern/products/ask-fern/pages/getting-started/what-is-ask-fern.mdx +++ b/fern/products/ask-fern/pages/getting-started/what-is-ask-fern.mdx @@ -1,19 +1,21 @@ --- -title: AI Search Overview +title: What is Ask Fern? subtitle: Let your customers find answers in your documentation instantly. --- +Ask Fern is available on the [Pro plan](https://buildwithfern.com/pricing#Docs) of Fern Docs. Billing is by usage. + ## Overview Accessing AI Search -Fern AI Search indexes your documentation and provides an interface for your users to ask questions and get answers. We've found that it helps our customers: +Ask Fern is Fern's AI Search feature that indexes your documentation and provides an interface for your users to ask questions and get answers. It helps our customers -- **Decrease the time to find needed information** - Help users quickly locate crucial documentation without navigating through a maze of tabs and endpoints. -- **Integrate your product faster** - Accelerate implementation with ready-to-use code samples that demonstrate practical applications. -- **Surface where your docs have gaps** - Identify documentation weaknesses through user feedback and search patterns. +- **Decrease the time to find needed information** – Help users quickly locate crucial documentation without navigating through a maze of tabs and endpoints. +- **Integrate your product faster** – Accelerate implementation with ready-to-use code samples that demonstrate practical applications. +- **Surface where your docs have gaps** – Identify documentation weaknesses through user feedback and search patterns. Preview of AI Search @@ -27,7 +29,7 @@ Fern AI Search indexes your documentation and provides an interface for your use icon="regular book-open" href="/learn/ai-search/custom-prompting" > - Tailor AI Search results to your users' needs. + Tailor Ask Fern results to your users' needs. - Offer flexibility to have users 'Ask AI' or search your docs directly with Algolia. + Offer flexibility to have users "Ask AI" or search your docs directly with Algolia. - Create seamless UX by offering a 'one-stop-shop' for all docs questions. + Create seamless UX by offering a one-stop-shop for all docs questions. -## Pricing +## How it works + +Ask Fern is a **Retrieval Augmented Generation (RAG)** system built on top of your documentation site that transforms your documentation into an intelligent, searchable knowledge base. The main parts of the Ask Fern system are: + +* **Content indexing** – Fern automatically processes your documentation pages, + breaking them into semantic chunks and converting each chunk into a vector + using sentence embedding models. They're stored in a database that serves as + Ask Fern's search index. +* **Query processing** – When users ask questions, Ask Fern vectorizes their + query and searches the database to find the most relevant documentation + chunks. +* **Response generation** – Ask Fern uses the retrieved chunks as context to + generate accurate answers with [citations](/ask-fern/features/citations) for the user. If the initial context isn't sufficient, it performs an additional keyword search. + +### Life of a query + +Each Ask Fern user query follows these steps: -Ask Fern is available on the [Pro plan](https://buildwithfern.com/pricing#Docs) of Fern Docs. Billing is by usage. \ No newline at end of file +```mermaid +sequenceDiagram + autonumber + participant U as User + participant C as /chat Endpoint + participant V as Documentation Database + participant A as Ask Fern + + U->>C: Submit question via Ask Fern searchbox + C->>C: Convert query to vector + C->>V: Search for relevant chunks + V->>C: Return matching documents + C->>A: Send query + context + A->>V: Perform additional keyword search if needed + V->>A: Return additional chunks + A->>A: Generate response + A->>U: Return answer with citations +``` \ No newline at end of file